package com.zretc.support.service;

import com.zretc.support.entity.Topicsingle;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface TopicsingleService {
    /**
     * 获取全部试题
     * @return
     */
    List<Topicsingle> getAllTopicsingle();

    /**
     * 增加试题
     * @param topicsingle
     * @return
     */
    Topicsingle addTopicsingle(Topicsingle topicsingle);

    /**
     * 根据试题编号获取试题
     * @param topicId
     * @return
     */
    Topicsingle getTopicsingleByTopicId(String topicId);

    /**
     * 更新试题
     * @param topicsingle
     * @return
     */
    int updTopicsingle(Topicsingle topicsingle);

    /**
     * 删除试题
     * @param topicId
     * @return
     */
    int deleteTopicsingle(String topicId);

    /**
     * 根据试题名查询试题
     * @param topicName
     * @return
     */
    List<Topicsingle> selectTopicsingleByTopicName(String topicName);

    /**
     * 查询试题 -- 分页
     * @param keywords
     * @param level
     * @param type
     * @param page
     * @param pageSize
     * @return
     */
    Page<Topicsingle> getTopicsingleByPage(String keywords,String level,String type, int page, int pageSize);

    /**
     * 随机获取试题 -- 分页
     * @param course
     * @param num
     * @param type
     * @return
     */
    Page<Topicsingle> getTopicsingleByRand(int course,int num,int type);

    /**
     * 根据课程获取试题  -- 分页
     * @param courseId
     * @param level
     * @param type
     * @param page
     * @param pageSize
     * @return
     */
    Page<Topicsingle> getTopicsingleByCourseIdWithPage(List<Long> courseId, String level, String type, int page, int pageSize);

    Page<Topicsingle> getsingleByIdWithPage(String keywords,int page, int pageSize);
}
